class Solution {
public:
    bool findTargetIn2DPlants(vector<vector<int>>& plants, int target) {
        if (plants.empty()) {
            return false; // 处理空矩阵或空行的情况
        }

        int i = 0, j = plants[0].size() - 1;
        while (i < plants.size() && j >= 0) {
            if (plants[i][j] > target) {
                j--; // 向左移动
            } else if (plants[i][j] < target) {
                i++; // 向下移动
            } else {
                return true; // 找到目标值
            }
        }
        return false; // 未找到目标值
    }
};